/*
 * shapDraw.h
 *
 *  Created on: 04-Sep-2011
 *      Author: jay
 */

#ifndef SHAPDRAW_H_
#define SHAPDRAW_H_
#include<vector>



using namespace std;

typedef struct MyPoint2D
{
 double dX;
 double dY;

}MyPoint2D;


typedef struct MyLineString2D
{
 vector<MyPoint2D> vPointList;

}MyLineString2D;




typedef struct MyPolygon2D
{
 vector<MyPoint2D> vPointList;

}MyPolygon2D;


typedef struct MyPoint3D
{
 double dX;
 double dY;
 double dZ;

}MyPoint3D;




typedef struct MyLineString3D
{
 vector<MyPoint3D> v3PointList;

}MyLineString3D;






typedef struct MyPolygon3D
{
 vector<MyPoint3D> v3PointList;

}MyPolygon3D;




typedef struct SBoundingBox
{
 float fMaxX;
 float fMaxY;
 float fMinX;
 float fMinY;

}SBoundingBox;

static SBoundingBox sBoundingBox;

//Holds Coordinates of Point Shapefile
static vector<MyPoint2D> vPoints;

//Holds Coordinates of Line Shapefile
static vector<MyLineString2D> vLines;

//Holds Coordinates of Polygon Shapefile
static vector<MyPolygon2D> vPolygons;

//Holds Coordinates of Point Shapefile
static vector<MyPoint3D> v3Points;

//Holds Coordinates of Line Shapefile
static vector<MyLineString3D> v3Lines;

//Holds Coordinates of Polygon Shapefile
static vector<MyPolygon3D> v3Polygons;


void OpenShapeFile(char* fileName);
void initializeGL();
void resizeGL(int w, int h);
void draw();
void paintGL();

#endif /* SHAPDRAW_H_ */
